// 导入依赖的模块
yepjs.require("jquery");
yepjs.require("YBA.Common");
yepjs.require("YBA.Plugin.plugins");
yepjs.require("YBA.Data.login");

// 登录模块
yepjs.define("forgetUser", {

    NS: "YBA.Logic",

    field: function() {

        var Biz = {
            // 初始化事件
            init: function() {
                for (var i in Biz.event) {
                    Biz.event[i]();
                }

                // 处理在按钮禁用的情况下，用户刷新页面导致部分浏览器下按钮保持禁用的问题
                Biz.el.jsubmit.removeAttr("disabled");
            },
            //  公共变量
            vars: {
            	// 模板列表
                tpl: (function(){
                    var tpl = {};
                    $("script[type='text/ysmart']").each(function(){
                        var t = $(this);
                        tpl[t.attr("data-name")] = t.html();
                    });
                    return tpl;
                })(),
                //记录定时器
                timer:""
            },
            // 页面元素
            el: {
                jform: $("#j-form"),
                jsubmit: $("#j-submit"),
            },
            // 功能函数集合
            fn: {
                // 表单验证
                formCheck: function(form,name) {

                	// 显示错误信息
                    var showError = function(obj, msg) {
                        var msgDom = obj.siblings('.message');
                        var msgTxt = msgDom.children('i')
                        msgDom.addClass("msg-error").removeClass('msg-tip');
                        msgTxt.html(msg);
                        msgDom.show();
                    };

                    // 隐藏错误信息
                    var hideError = function(obj, msg) {
                        var msgDom = obj.siblings('.message');
                        var msgTxt = msgDom.children('i')
                        msgDom.hide();
                        msgDom.addClass("msg-tip").removeClass('msg-error');
                        msgTxt.html(msg);
                    };

                    // 数据验证对象
                    var dataCheck = {
                    		username:{
                            obj: form.find("[name='username']"),
                            fn: function() {
                                var val = this.obj.val();
                                if (YBA.Common.check.isNull(val)) {
                                    showError(this.obj,"请输入用户名");
                                    return false;
                                } else {
                                    hideError(this.obj,"请输入用户名");
                                    return true;
                                }
                            }
                        }
                    };

                    if (name && dataCheck[name]) {
                        return dataCheck[name].fn();
                    } else {
                        var errLen = 0;
                        for (var i in dataCheck) {
                            if (!dataCheck[i].fn()) {
                                errLen++;
                            }
                        }
                        if (errLen > 0) {
                            return false;
                        }
                        return true;
                    }
                },
                // 表单提交
                submit: function() {
                    if (Biz.fn.formCheck(Biz.el.jform)) {
                        Biz.el.jsubmit.attr("disabled", "disabled");
                        var data = Biz.el.jform.serialize();
                        data = data + "&token=tokennawang";
                        YBA.Data.login.getForgetUser(data, function(json){
                            if(json.code == 200){
                            	location.href = "/ebeim-api/forgetPwd.jsp?username="+json.obj.username+"&userId="+json.obj.id+"&mobile="+json.obj.mobile;
                            }else{
                                Biz.el.jsubmit.removeAttr("disabled");
                                YBA.Plugin.msgtip({type: "i",msg: json.desc});
                            }
                        })
                    }
                    return false;
                }
            },
            // 初始化时执行的所有事件
            event: {
                // 表单提交
                submit: function() {
                    Biz.el.jform.bind("submit", Biz.fn.submit);
                },
                // 文本框验证
                blurCheck: function() {
                    Biz.el.jform.find(".required").bind("blur", function() {
                        var t = $(this);
                        var name = t.attr("name");
                        Biz.fn.formCheck(Biz.el.jform,name);
                    });
                }
            }
        };

        Biz.init();

        return Biz;
    }
});
